<?php
class Campo{
	
	public $id;	
	public $descCampo;		
	public $descHtml;	
	public $tipo;	
	public $tipoRecipiente;	
	public $obrigatorio;
	
	public function setId($id){
		$this->id = $id;
	}
	
	public function getId(){
		return  $this->id;
	}
	
	public function getDescCampo(){
		return $this->descCampo;
	}
	
	public function setDescCampo($descCampo){
		$this->descCampo = $descCampo;
	}
	
	public function getDescHTML(){
		return $this->descHtml;
	}
	
	public function setDescHTML($descHtml){
		$this->descHtml = $descHtml;
	}
	
	public function setTipo($tipo){
		$this->tipo = $tipo;
	}
	public function getTipo(){
		return $this->tipo;	
	}
	public function getTipoRecipiente(){
		return $this->tipoRecipiente;
	}
	
	public function setTipoRecipiente($tipoRecipiente){
		$this->tipoRecipiente=$tipoRecipiente;
	}
	public function getObrigatorio(){
		return $this->obrigatorio;
	}
	public function setObrigatorio($obrigatorio){
		$this->obrigatorio = $obrigatorio;
	}

	public function getListaCamposForTipoRecipiente($tipoRecipiente,$association){
		$db = new conexao();
		$db->abrir();
		$listaCampos = array();
		$sql="";
		if(!$association){
			$sql = "select * from tipo_rec_campos trc
					where trc.tip_rec_id = ".$tipoRecipiente->getId();
		}else{
			$sql = "select * from tipo_rec_campos trc
					inner join tipo_recipiente tr on tr.tip_rec_id = trc.tip_rec_id
					where trc.tip_rec_id = ".$tipoRecipiente->getId();
		}
		$resultSet = $db->consulta($sql);
		while($linha = $db->get_linha($resultSet)){
			$listaCampos[] = $this->parseResultSetForObj($linha,$obj,$association);
		}
		$db->fechar();
		return $listaCampos;
	}
	public function inserir(){
		$db = new conexao();
		$db->abrir();
		$sql = " INSERT INTO `tipo_rec_campos` (`tip_rec_id`, `tip_rec_campos_desc`, `tip_rec_campos_html`, `tip_rec_dado_tipo`) VALUES 
				  (".$this->getTipoRecipiente()->getId().",'".$this->getDescCampo()."','".$this->getNome()."',".$this->getTipo().");";
		
		if($db->inserir($sql)){
			$db->fechar();
			return true;
		}else{
			$db->fechar();
			return false;
		}	
	}
	public function parseResultSetForObj($linha,$obj,$association){
		$obj = new Campo();
		$obj->setId($linha["tip_rec_campos_id"]);
		$obj->setDescHTML($linha["tip_rec_campos_html"]);
		$obj->setDescCampo($linha["tip_rec_campos_desc"]);
		$obj->setTipo($linha["tip_rec_dado_tipo"]);
		$tipoRecipiente = new TipoRecipiente();
		$tipoRecipiente->setId($linha["tip_rec_id"]);
		if($association){
			$tipoRecipiente->setDesc($linha["tip_rec_desc"]);
			$tipoRecipiente->setSigla($linha["tip_rec_sigla"]);
		}
		$obj->setTipoRecipiente($tipoRecipiente);
		return $obj;
	}
}
?>